<?php

class AdminController extends Zend_Controller_Action
{

    public function init()
    {
        $this->_helper->layout->setLayout('layoutadmin');
    }

    public function indexAction()
    {
        //делаем выборку всех пользователей
        $users = new Application_Model_Admin();
        $getusers = $users->getAllUsers();
        $this->view->test = $getusers; 
    }

    public function deleteAction()
    {
        //получаем id выбранного юзера
        $id = $this->_getParam('id', 0);       
        $del = new Application_Model_Admin();
        //удаляем и редиректим на страницу вывода
        $result = $del->deleteUser($id);
        $this->_helper->redirector('index', 'admin');
    }

    public function updateAction()
    {
        $id = $this->_getParam('id', 0);
         //выводим форму
        $form = new Application_Form_UpdateUser();
        $this->view->form = $form;
        //если был передан корректный id
        if ($id > 0) {
            //делаем выборку данных указанного юзера
            //и заполняем ими форму
            $update = new Application_Model_Admin();
            $form->populate($user[0] = $update->getSelectUser($id));
            //передаем в вид логин юзера
            $this->view->name = $user[0]['email'];
            //если был POST запрос
            if ($this->getRequest()->isPost()) {
                $postdata = $this->getRequest()->getPost();
                //если форма заполнена верно
                if ($form->isValid($postdata)) {
                    //получаем данные из POST и забиваем в массив
                    $data = array(
                        'password'  => md5($form->getValue('password')),
                        'firstName' => $form->getValue('firstName'),
                        'lastName'  => $form->getValue('lastName'),
                        'phone'     => $form->getValue('phone'),
                        'company'   => $form->getValue('company'),
                        'country'   => $form->getValue('country'),
                        'city'      => $form->getValue('city'),
                        'adress'    => $form->getValue('adress'),
                        'site'      => $form->getValue('site')
                    );
                    //редактируем данные пользователя
                    $update->updateUser($id, $data);
                    $this->_helper->redirector('index','admin');
                }
            } 
        }    
    }

    public function addAction()
    {
        //выводим форму
        $form = new Application_Form_Registration();
        $this->view->form = $form;
        
        //если POST
        if ($this->getRequest()->isPost()) {
            $postdata = $this->getRequest()->getPost();
            //если форма заполнена верно
            if ($form->isValid($postdata)) {
                //получаем данные из POST и забиваем в массив
                $data = array(
                    'email'     => $form->getValue('email'),
                    'password'  => md5($form->getValue('password')),
                    'firstName' => $form->getValue('firstName'),
                    'lastName'  => $form->getValue('lastName'),
                    'phone'     => $form->getValue('phone'),
                    'company'   => $form->getValue('company'),
                    'country'   => $form->getValue('country'),
                    'city'      => $form->getValue('city'),
                    'adress'    => $form->getValue('adress'),
                    'site'      => $form->getValue('site'),
                );
                //добавляем пользователя
                $add = new Application_Model_Admin();
                $add->addUser($data);
                $this->_helper->redirector('index', 'admin');
            }
        }   
    }

    public function showAction()
    {
        //получаем id пользователя
        $id = $this->_getParam('id', 0);
        //получаем данные выбранного пользователя
        $bal = new Application_Model_Admin();
        $status = $bal->getStatus($id);
        $user[0] = $bal->getSelectUser($id);
        
        //получаем id страны юзера
        $countryId = $user[0]['country'];
        //и делаем выборку этой страны
        $country = $bal->getCountry($countryId);
        
        //передаем все данные в вид
        $this->view->status = $status;
        $this->view->user = $user;       
        $this->view->country = $country;
    }

    public function transactionsAction()
    {
        $id = $this->_getParam('id', 0);
        $get = new Application_Model_Admin();
        $user = $get->getSelectUser($id);
        $trans = $get->getTransactions($id);
        $this->view->trans = $trans;
        $this->view->user = $user;
    }

    public function addstatusAction()
    {
        $form = new Application_Form_Addbalance();
        $this->view->form = $form;
        $time = time();
        if ($this->getRequest()->isPost()) {
            $postData = $this->getRequest()->getPost();
            if ($form->isValid($postData)) {
                $data = array(
                                'id_client' => $form->getValue('users'),
                                'payment'   => $form->getValue('payment'),
                                'rate'      => $form->getValue('rate'),
                                'amount'   => $form->getValue('count'),
                                'time'     =>  $time * $form->getValue('count')
                );
                $id = $form->getValue('users');
                $add = new Application_Model_Admin();
                $add->addStatus($data);
                $time = new Application_Model_Routes();
                $statusTime = $time->getStatusTime($id);
                $this->_helper->redirector('index', 'admin');
            }
        }    
    }

}



